package org.base23.video.service;

import org.base23.video.domain.dto.DetailedPostureAnalysis;
import org.base23.video.domain.dto.VideoAnalysisApiResponse;
import org.base23.video.domain.dto.VideoAnalysisResult;
import org.springframework.web.multipart.MultipartFile;

/**
 * 视频分析编排服务
 * 负责协调整个视频分析流程：上传 -> 外部分析 -> AI分析 -> 保存结果
 */
public interface VideoAnalysisOrchestrationService {

    /**
     * 完整的视频分析流程
     * @param videoFile 视频文件
     * @param userId 用户ID
     * @param sportType 运动类型
     * @return 分析结果ID
     */
    String performCompleteAnalysis(MultipartFile videoFile, Long userId, String sportType);

    /**
     * 获取完整的分析结果
     * @param userId 用户ID
     * @param resultId 结果ID
     * @param sportType 运动类型
     * @return 详细分析结果
     */
    DetailedPostureAnalysis getCompleteAnalysisResult(Long userId, String resultId, String sportType);

    /**
     * 检查分析状态
     * @param userId 用户ID
     * @param resultId 结果ID
     * @return 分析状态
     */
    String checkAnalysisStatus(Long userId, String resultId);
} 